পলিমরফিজম (Polymorphism): ওভারলোডিং এবং ওভাররাইডিং

অবজেক্ট-অরিয়েন্টেড প্রোগ্রামিং (Object-Oriented Programming - OOP) - কম্পিউটার প্রোগ্রামিং ফান্ডামেন্টাল (Computer Programming Fundamentals) - Computer Science

253

পলিমরফিজম (Polymorphism) অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিংয়ের (OOP) একটি মৌলিক ধারণা, যা একটি বস্তুর বিভিন্নভাবে আচরণ করার ক্ষমতা নির্দেশ করে। এটি দুটি প্রধান ধরনের মধ্যে বিভক্ত: মেথড ওভারলোডিং (Method Overloading) এবং মেথড ওভাররাইডিং (Method Overriding)। নিচে এই ধারণাগুলোর বিস্তারিত আলোচনা করা হলো।

পলিমরফিজম (Polymorphism)

বিবরণ: পলিমরফিজম হল একটি অবজেক্টের ক্ষমতা একই নামের বিভিন্ন কার্যকলাপ সম্পাদন করার। এর মাধ্যমে একই ইন্টারফেস ব্যবহার করে বিভিন্ন ধরনের অবজেক্টে কাজ করা সম্ভব হয়।

১. মেথড ওভারলোডিং (Method Overloading)

বিবরণ: মেথড ওভারলোডিং হল একই নামের একটি বা একাধিক মেথড থাকা, কিন্তু তাদের প্যারামিটারগুলির সংখ্যা বা টাইপ ভিন্ন হতে হয়। এটি কম্পাইল সময়ে কার্যকর হয় এবং একই ক্লাসের মধ্যে মেথডগুলো আলাদা করে চিহ্নিত করা হয়।

উদাহরণ:

class MathOperations {
    // প্যারামিটার ছাড়া
    int add() {
        return 0;
    }
    
    // দুইটি ইনটিজার যোগ
    int add(int a, int b) {
        return a + b;
    }
    
    // তিনটি ইনটিজার যোগ
    int add(int a, int b, int c) {
        return a + b + c;
    }
}

public class Main {
    public static void main(String[] args) {
        MathOperations math = new MathOperations();
        System.out.println(math.add());            // আউটপুট: 0
        System.out.println(math.add(5, 10));      // আউটপুট: 15
        System.out.println(math.add(5, 10, 15));  // আউটপুট: 30
    }
}

২. মেথড ওভাররাইডিং (Method Overriding)

বিবরণ: মেথড ওভাররাইডিং হল একটি কিছুর মেথডের উপর নতুন ক্লাসে একটি একই নাম এবং একই প্যারামিটার দিয়ে নতুন কার্যকলাপ সংজ্ঞায়িত করা। এটি রান-টাইমে কার্যকর হয় এবং সাধারণত প্যারেন্ট ক্লাস এবং চাইল্ড ক্লাসের মধ্যে ঘটে।

উদাহরণ:

class Animal {
    void sound() {
        System.out.println("Animal makes a sound");
    }
}

class Dog extends Animal {
    @Override
    void sound() {
        System.out.println("Dog barks");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal myAnimal = new Animal();
        Animal myDog = new Dog(); // ডায়নামিক বাইন্ডিং
        myAnimal.sound(); // আউটপুট: Animal makes a sound
        myDog.sound();    // আউটপুট: Dog barks
    }
}

পলিমরফিজমের সুবিধা

১. কোড পুনর্ব্যবহারযোগ্যতা: ওভারলোডিং এবং ওভাররাইডিংয়ের মাধ্যমে কোডের পুনর্ব্যবহারযোগ্যতা বৃদ্ধি পায়, কারণ একই নামের ফাংশন ব্যবহার করে ভিন্ন ভিন্ন কার্যকলাপ সম্পন্ন করা যায়।

২. নির্বাচনযোগ্যতা: পলিমরফিজমের মাধ্যমে ডেভেলপাররা বিভিন্ন ক্লাসের অবজেক্টগুলোর সাথে একই ইন্টারফেস ব্যবহার করে কাজ করতে পারে।

৩. সহজ রক্ষণাবেক্ষণ: যখন কোডের পরিবর্তন করা হয়, তখন একই নামের ফাংশনের মাধ্যমে বিভিন্ন কার্যকলাপ পরিচালনা করা সহজ হয়।

উপসংহার

পলিমরফিজম একটি গুরুত্বপূর্ণ বৈশিষ্ট্য যা অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিংকে শক্তিশালী করে। মেথড ওভারলোডিং এবং মেথড ওভাররাইডিংয়ের মাধ্যমে ডেভেলপাররা কোডের কার্যকারিতা এবং পুনর্ব্যবহারযোগ্যতা বাড়াতে পারে। এই ধারণাগুলোর মাধ্যমে ডেভেলপাররা একটি সাধারণ ইন্টারফেস ব্যবহার করে বিভিন্ন ধরনের অবজেক্টের সাথে কাজ করতে সক্ষম হয়, যা কোডের উন্নয়নে সাহায্য করে।

Promotion

Are you sure to start over?

Loading...